$(function () {

    // 模板引擎的过滤器函数，处理发表时间
    template.defaults.imports.dateFormate = function (value) {
        // console.log(value);//日期时间字符串
        var dt = new Date(value);
        var y = dt.getFullYear();
        var m = dt.getMonth() + 1;
        m = padZero(m)
        var d = dt.getDate();
        d = padZero(d)
        var hh = dt.getHours();
        hh = padZero(hh)
        var mm = dt.getMinutes();
        mm = padZero(mm)
        var ss = dt.getSeconds();
        ss = padZero(ss)
        return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
    }
    // 补零操作
    function padZero(n) {
        return n < 10 ? '0' + n : n;
    }
    // 弹层对象
    var layer = layui.layer;
    // 参数对象
    var q = {
        pagenum: 1, //默认获取第一页数据
        pagesize: 3, //默认每页展示数据条数
        cate_id: '', //默认为空，获取所有分类的文章
        status: '' //默认为空，获取所有状态的文章
    }
    /* 1---获取文章数据，渲染到页面 */
    initArticle();

    function initArticle() {
        $.ajax({
            method: 'get',
            url: '/my/article/list',
            data: q,
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg('获取失败', {
                        icon: 5
                    })
                };
                // 渲染到页面
                var html = template('tpl-artical', res);
                $('tbody').html(html);
                // 渲染分页按钮
                layui.laypage.render({
                    elem: 'pageBox', //渲染的位置
                    count: res.total, //数据的总条数
                    limit: q.pagesize, //每页显示多少条
                    curr: q.pagenum, //当前是第几页第几页就高亮
                    limits: [2, 4, 6, 8],
                    layout: ['limit', 'page', 'prev', 'next', 'count'],
                    jump: function (obj, first) {
                        // obj,所有分页选项。obj.curr当前页
                        // first,渲染按钮时调用了jump---true；切换时调用---undefined
                        q.pagenum = obj.curr;
                        q.pagesize = obj.limit;
                        // 只有单击分页按钮时才需要重新渲染
                        if (first === undefined) {
                            initArticle()
                        }
                    }
                })
            }
        })
    };
    /* 2---获取所有分类，渲染到下拉列表 */
    initCate();

    function initCate() {
        $.ajax({
            method: 'get',
            url: '/my/article/cates',
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg('获取失败', {
                        icon: 5
                    })
                };
                // 渲染到下拉列表
                var html = template("tpl-case", res);
                // console.log(html);
                $('[name=cate_id]').html(html);
                // 手动渲染表单
                layui.form.render();
            }
        })
    };
    /* 3---完成筛选功能 */
    $("#form-search").on("submit", function (e) {
        e.preventDefault();
        // 收集数据，并修改参数q
        q.cate_id = $("[name=cate_id]").val();
        q.state = $('[name=state]').val();
        // 重新渲染到页面
        initArticle();
    });
    /* 4---删除 */
    $('tbody').on('click', '.btn-delete', function () {
        // 获取删除按钮的数量
        var btns = $('.btn-delete').length;
        var id = $(this).attr('date-id');
        console.log(id);
        layer.confirm('您确定要删除', {
            icon: 5
        });
        $.ajax({
            method: 'get',
            url: '/my/article/delete/' + id,
            success: function (res) {
                if (res.status !== 0) {
                    return layer.msg(res.message, {
                        icon: 5
                    })
                };
                layer.msg(res.message, {
                    icon: 6
                });
                if (btns === 1) {
                    // 果然当前已经是第一页，不用--
                    q.pagenum = q.pagenum === 1 ? q.pagenum : q.pagenum - 1;
                }
                initArticle();
            }
        })
    })
})